package leetcode.editor.cn;
/**
 * 题目Id：171
 * 题目：Excel 表列序号
 * 日期：2023-04-03 15:14:57
 */
//给你一个字符串 columnTitle ，表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 
//
// 例如： 
//
// 
//A -> 1
//B -> 2
//C -> 3
//...
//Z -> 26
//AA -> 27
//AB -> 28 
//... 
//
// 
//
// 示例 1: 
//
// 
//输入: columnTitle = "A"
//输出: 1
// 
//
// 示例 2: 
//
// 
//输入: columnTitle = "AB"
//输出: 28
// 
//
// 示例 3: 
//
// 
//输入: columnTitle = "ZY"
//输出: 701 
//
// 
//
// 提示： 
//
// 
// 1 <= columnTitle.length <= 7 
// columnTitle 仅由大写英文组成 
// columnTitle 在范围 ["A", "FXSHRXW"] 内 
// 
//
// Related Topics 数学 字符串 👍 376 👎 0

/**
 *
 */
public class ExcelSheetColumnNumber {
    public static void main(String[] args) {
        Solution solution = new ExcelSheetColumnNumber().new Solution();
        System.out.println(solution.titleToNumber("ZY"));
        System.out.println("Hello world");
    }
    //leetcode submit region begin(Prohibit modification and deletion)

    /**
     *
     */
    class Solution {
        public int titleToNumber(String columnTitle) {
            /**
             * 创建int类型变量  sum
             * 遍历字符串
             * 每一次遍历截取   最后一位  然后  计算
             */
            int sum = 0;
            for (int i = columnTitle.length() - 1; i >= 0; i--) {
                char c = columnTitle.charAt(i);
                int num = c - 'A' + 1;
                sum = (int) (sum + num * Math.pow(26, columnTitle.length() - 1 - i));
            }
            return sum;

        }
    }
//leetcode submit region end(Prohibit modification and deletion)

} 
